Wireless networks are often organized into a two-tier architecture to facilitate management of large numbers of participating communication devices generally referred to as nodes. In a typical setup, the nodes are grouped into clusters based on geographic proximity or other shared characteristics. One node within each cluster is designated as a cluster head for performing certain administrative tasks or for streamlining communications. For example, the cluster head may have the responsibility for data aggregation, data routing, decision-making, and operational control for network devices within the cluster. The cluster head may be manually assigned during initial network configuration, as is the case of a cellular network in which base stations function as cluster heads for mobile subscriber devices. A cluster head may also be dynamically assigned based on a network operation protocol.
Recently, self-organizing, asynchronous wireless networks of heterogeneous devices have been proposed. Nodes within these networks may differ substantially in capabilities and function. Traditional approaches for designating cluster heads have proven inadequate, as certain underlying assumptions such as homogeneity of devices, or manual assignments based on apriori knowledge of node placements and node capabilities, may not be applicable. Thus, a new approach to cluster formation and cluster head selection is needed, particularly, one that is well suited for self-organizing, asynchronous heterogeneous networks.